perm filename PLAIN.OLD[TEX,DEK] blob
sn#684623 filedate 1982-10-28 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00008 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 \chcode`\{=1 \chcode`\}=2 \chcode`\$=3 \chcode`\&=4
C00008 00003 % Assign initial values to TeX's primitives
C00011 00004 % Here are macros for the automatic allocation of \count, \box, \dimen,
C00017 00005 % Here are macros to "simulate" some of the TeX80 primitives:
C00029 00006 % Here are other macros
C00035 00007 % Definitions for preloaded fonts
C00046 00008 % Hyphenation, and initial values for standard layout
C00047 ENDMK
C⊗;
\chcode`\{=1 \chcode`\}=2 \chcode`\$=3 \chcode`\&=4
\chcode`\#=6 \chcode`\↑=7 \chcode`\_=8 \chcode`\↑↑A=8
\chcode`\↑↑J=9 \chcode`\↑↑I=10 \chcode`\%=14
\chcode`\@=13 \def@{\penalty9999\ }
\message{preloading codes,}
% We had to define the \chcodes above right away, even before this comment
% or the message line, which has the { and } characters. Using the forms
% `\{ etc. instead of `{ allows us to read in this file even if those
% characters had been chcoded before. (If we just want to read in PLAIN
% once, then % is the only character that has to be treated this way.)
% Here is a list of the characters that have been specially chcoded:
\def\specials{\ \\ \{ \} \$ \& \# \↑ \_ \↑↑A \↑↑J \↑↑I \% \@ \endlist}
% We make parentheses act like letters, temporarily, to avoid conflict
% with user-defined control sequences in certain cases.
\chcode`(=11 \chcode`)=11
% So far I haven't used this, but I probably will... e.g., \def\(foo){...}
\sfcode`.=3000 \sfcode`?=3000 \sfcode`!=3000
\sfcode`:=2000 \sfcode`;=1500 \sfcode`,=1250
\sfcode`)=0 \sfcode`'=0 \sfcode`"=0 \sfcode`]=0
\mathcode`↑↑@="2201 % \cdot
\mathcode`↑↑A="3223 % \downarrow
\mathcode`↑↑B="010B % \alpha
\mathcode`↑↑C="010C % \beta
\mathcode`↑↑D="225E % \land
\mathcode`↑↑E="023A % \lnot
\mathcode`↑↑F="010F % \epsilon
\mathcode`↑↑G="0119 % \lambda
\mathcode`↑↑H="0115 % \pi
\mathcode`\↑↑I="010D % \gamma
\mathcode`\↑↑J="010E % \delta
\mathcode`\↑↑K="3222 % \uparrow
\mathcode`\↑↑L="2206 % \pm
\mathcode`\↑↑M="2208 % \oplus
\mathcode`↑↑N="0231 % \infty
\mathcode`↑↑O="0125 % \partial
\mathcode`↑↑P="321A % \propersubset
\mathcode`↑↑Q="321B % \propersupset
\mathcode`↑↑R="225C % \cap
\mathcode`↑↑S="225B % \cup
\mathcode`↑↑T="0238 % \forall
\mathcode`↑↑U="0239 % \exists
\mathcode`↑↑V="220A % \otimes
\mathcode`↑↑W="3224 % \doublearrow
\mathcode`↑↑X="3220 % \leftarrow
\mathcode`↑↑Y="3221 % \rightarrow
\mathcode`↑↑Z="321C % \neq
\mathcode`↑↑[="2277 % \diamond
\mathcode`↑↑\="3214 % \leq
\mathcode`↑↑]="3215 % \geq
\mathcode`↑↑↑="3211 % \eqv
\mathcode`↑↑_="225F % \lor
\mathcode` ="0234 % \emptyset
\mathcode`!="5021
\mathcode`"="5022
\mathcode`#="0271
\mathcode`$="027F
\mathcode`\%="0025
\mathcode`&="0026
\mathcode`'="0230 % \prime
\mathcode`(="4028
\mathcode`)="5029
\mathcode`*="2203 % \ast
\mathcode`+="202B
\mathcode`,="602C
\mathcode`-="2200
\mathcode`.="002E
\mathcode`/="002F
\mathcode`0="0030
\mathcode`1="0031
\mathcode`2="0032
\mathcode`3="0033
\mathcode`4="0034
\mathcode`5="0035
\mathcode`6="0036
\mathcode`7="0037
\mathcode`8="0038
\mathcode`9="0039
\mathcode`:="303A
\mathcode`;="603B
\mathcode`<="303C
\mathcode`=="303D
\mathcode`>="303E
\mathcode`?="503F
\mathcode`@="027C % \@
\mathcode`[="405B
\mathcode`\\="2204 % \rslash
\mathcode`]="505D
\mathcode`↑="000F
\mathcode`_="0235
\mathcode``="4060
\mathcode`{="4266
\mathcode`|="026A
\mathcode`}="5267
\mathcode`~="3218 % \sim
\mathcode`\↑↑?="027B % \P
\delcode`.=0
\delcode`(="028300
\delcode`)="029301
\delcode`[="05B302
\delcode`]="05D303
\delcode`<="26830A
\delcode`>="26930B
\delcode`|="26A30C
\delcode`/="02F30E
% N.B. { and } should not get delcodes (it would mess up parameter groups)
% Assign initial values to TeX's primitives
\message{primitives,}
% All of TeX's primitives that can be assigned a value are listed here. Those
% that are left uninitialized are preceded by a % sign.
\lineskip 1pt
\baselineskip 12pt
\parskip 0pt plus 1pt
\dispskip 12pt plus 3pt minus 9pt
\dispaskip 0pt plus 3pt
\dispbskip 7pt plus 3pt minus 4pt
% \leftskip
% \rightskip
\topskip 10pt
\splittopskip 10pt
% \tabskip
% \spaceskip
% \xspaceskip
\parfillskip 0pt plus 1fil
\thinmuskip 3mu
\medmuskip 4mu plus 2mu minus 4mu
\thickmuskip 5mu plus 5mu
\output{\shipout\vbox{
\baselineskip 18pt
\box255
\hbox to 6.5truein{\hss\:\mainfont\the\count0\hss}}
\global\advcount0 by 1}
% \everypar
\pretolerance 200
\tolerance 200 % Initialized by TeX to 10000, but we change it
\linepenalty 1
\hyphenpenalty 50
\exhyphenpenalty 50
\widowpenalty 80
% \displaywidowpenalty
\brokenpenalty 50
\binoppenalty 95
\relpenalty 50
\predisplaypenalty 500
% \postdisplaypenalty
% \interlinepenalty
\doublehyphendemerits 10000
\finalhyphendemerits 10000
\adjdemerits 10000
% \mag % Initialized by TeX to 1000
\delimiterfactor 900
\looseness 0
% \time % Initialized by TeX to now
% \day % ditto
% \month % ditto
% \year % ditto
\showboxbreadth 5
\showboxdepth 3
\hbadness 1000
\vbadness 1000
% \pausing
% \tracingonline
% \tracingmacros
% \tracingstats
% \tracingoutput
\tracinglostchars 1
% \tracingcommands
\uchyph 1
% \outputpenalty
% \maxdeadcycles % Initialized by TeX to 25
\parindent 20pt
% \mathsurround
\varunit 1pt
% \lineskiplimit
\hsize 6.5in
\vsize 8.9in
\maxdepth 2pt
% \splitmaxdepth
\boxmaxdepth 16383.99999pt
\hfuzz 0.1pt
\vfuzz 0.1pt
\delimiterlimit 5pt
% \nulldelimiterspace
\scriptspace 0.5pt
\overfullrule 5pt
% Here are macros for the automatic allocation of \count, \box, \dimen,
% \skip, and \muskip registers, \read and \write file numbers, \font codes,
% \fam codes, and \insert numbers in TeX82.
%
% When a register is used only temporarily, it need not be allocated since
% grouping can be used, making the value previously in the register return
% after the close of the group. The main use of these macros is for
% registers that are defined by one macro and used by others, possibly at
% different nesting levels. All such registers should be defined through
% these macros; otherwise conflicts may occur, especially when you are
% using two or more macro packages at once.
%
% The following counters are reserved:
% 0 to 9 page numbering
% 10 count allocation
% 11 box allocation
% 12 dimen allocation
% 13 skip allocation
% 14 muskip allocation
% 15 read file allocation
% 16 write file allocation
% 17 math family allocation
% 18 font code allocation
% 19 insert allocation
% New counters are allocated starting with 20, 21, etc. Other objects are
% allocated starting with 10. This leaves 0 through 9 for the user to play
% with safely, except that counts 0 to 9 are considered to be the page and
% subpage numbers (since they are displayed during output). In this scheme,
% \count 10 always contains the number of the highest-numbered counter that
% has been allocated, \count 11 the highest-numbered box, etc.
% Inserts are given numbers 254, 253, etc., since they require a \count,
% \box, \dimen, and \skip all with the same number; \count 19 contains the
% lowest-numbered insert that has been allocated. Of course, \box255 is
% reserved for \output; \count255, \dimen255, and \skip255 can be used freely.
\setcount10=19
\setcount11=9
\setcount12=9
\setcount13=9
\setcount14=9
\setcount15=9
\setcount16=9
\setcount17=9
\setcount18=-1
\setcount19=255
% Now, we define \newcount, \newbox, etc. so that you can say \newcount\foo
% and \foo will be defined to be the number of the next counter.
\def\newcount{\allocate0\count \count19.}
\def\newbox{\allocate1\box \count19.}
\def\newdimen{\allocate2\dimen \count19.}
\def\newskip{\allocate3\skip \count19.}
\def\newmuskip{\allocate4\muskip 256.}
\def\newread{\allocate5\read 16.}
\def\newwrite{\allocate6\write 16.}
\def\newfam{\allocate7\fam 16.}
\def\space{ }
\def\allocate#1#2#3.#4{\global\advcount1#1 by 1
\checkoverflow{1#1}{#3}#2
\xdef#4{\the\count1#1 \space}}
\def\newinsert#1{\global\advcount19 by -1
\checkoverflow{10}{\count19}\count
\checkoverflow{11}{\count19}\box
\checkoverflow{12}{\count19}\dimen
\checkoverflow{13}{\count19}\skip
\xdef#1{\the\count19 \space}}
\def\checkoverflow#1#2#3{\ifnum\count#1<#2{}
\else{\errmessage{No more room: can't allocate a new #3}}}
% The \newfont macro is slightly different, since it reads in the font file
% as well as defining a new font code. For example, after saying
% \newfont cms10\is\tensl
% we can use {\:\tensl slanted text} to get text in font cms10, and we can also
% \def\sl{\:\tensl}
% to define the normal abbreviation for slanted text.
\def\newfont#1\is#2{\global\advcount18 by 1
\xdef#2{\the\count18 \space}
\font\count18=#1 }
% Here's an example of allocation.
\newskip\next
\setskip\next=3pt plus 1pt minus 1pt
\edef\smallskip{\vskip\skip\next}
\newskip\next
\setskip\next=6pt plus 2pt minus 2pt
\edef\medskip{\vskip\skip\next}
\newskip\next
\setskip\next=12pt plus 4pt minus 4pt
\edef\bigskip{\vskip\skip\next}
% Here are macros to "simulate" some of the TeX80 primitives:
\message{macros,}
\def\thinspace{\kern .16667em }
\def\quad{\kern 1em }
\def\qquad{\kern 2em }
\def\linebreak{\penalty-10000 }
\def\pagebreak{\vadjust{\penalty-10000}}
\def\eject{\ifhmode{\pagebreak}\else{}\penalty-10000 }
\def\nobreak{\penalty 10000 }
\def\smallbreak{\par\penalty-50\smallskip}
\def\medbreak{\par\penalty-100\medskip}
\def\bigbreak{\par\penalty-200\bigskip}
\def\fillbreak{\vfil\penalty-200\vfilneg}
\mathchardef\join"1357
\mathchardef\meet"1356
\mathchardef\munion"1355
\mathchardef\inter"1354
\mathchardef\union"1353
\mathchardef\int"1352
\mathchardef\prod"1351
\mathchardef\sum"1350
\mathchardef\oprod"134E
\mathchardef\osum"134C
\mathchardef\odotprod"134A
\mathchardef\oint"1348
\mathchardef\squnion"1346
\mathchardef\$"27F
\mathchardef\sterling"27E
\mathchardef\copyright"27D
\mathchardef\@"27C
\mathchardef\P"27B
\mathchardef\ddag"27A
\mathchardef\dag"279
\mathchardef\section"278
\mathchardef\sqsub"3276
\mathchardef\land"225E
\mathchardef\lor"225F
\mathchardef\cap"225C
\mathchardef\cup"225B
\mathchardef\glb"2275
\mathchardef\lub"2274
\mathchardef\smallint"1273
\mathchardef\nabla"0272
\mathchardef\#"0271
\mathchardef\lnot"023A
\mathchardef\dright"526D
\mathchardef\dleft"426C
\mathchardef\relvv"326B
\mathchardef\rightvv"526B
\mathchardef\leftvv"426B
\mathchardef\|"026B
\mathchardef\relv"326A
\mathchardef\rightv"526A
\mathchardef\leftv"426A
\mathchardef\dashv"5261
\mathchardef\vdash"4260
\mathchardef\uplus"225D
\mathchardef\Zscr"25A
\mathchardef\Yscr"259
\mathchardef\Xscr"258
\mathchardef\Wscr"257
\mathchardef\Vscr"256
\mathchardef\Uscr"255
\mathchardef\Tscr"254
\mathchardef\Sscr"253
\mathchardef\Rscr"252
\mathchardef\Qscr"251
\mathchardef\Pscr"250
\mathchardef\Oscr"24F
\mathchardef\Nscr"24E
\mathchardef\Mscr"24D
\mathchardef\Lscr"24C
\mathchardef\Kscr"24B
\mathchardef\Jscr"24A
\mathchardef\Iscr"249
\mathchardef\Hscr"248
\mathchardef\Gscr"247
\mathchardef\Fscr"246
\mathchardef\Escr"245
\mathchardef\Dscr"244
\mathchardef\Cscr"243
\mathchardef\Bscr"242
\mathchardef\Ascr"241
\mathchardef\not"3240
\mathchardef\top"023E
\mathchardef\imag"023D
\mathchardef\forall"0238
\mathchardef\exists"0239
\mathchardef\real"023C
\mathchardef\aleph"023B
\mathchardef\angle"0236
\mathchardef\emptyset"0234
\mathchardef\notin"3233
\mathchardef\in"3232
\mathchardef\infty"0231
\mathchardef\prime"0230
\mathchardef\mapsto"322F
\mathchardef\rsh"222E
\mathchardef\lsh"222D
\mathchardef\sim"3218
\mathchardef\simeq"3227
\mathchardef\grgr"3226
\mathchardef\lsls"3225
\mathchardef\uparrow"3222
\mathchardef\downarrow"3223
\mathchardef\doublearrow"3224
\mathchardef\leftarrow"3220
\mathchardef\rightarrow"3221
\mathchardef\uparroww"322A
\mathchardef\downarroww"322B
\mathchardef\doublearroww"322C
\mathchardef\leftarroww"3228
\mathchardef\rightarroww"3229
\mathchardef\neq"321C
\mathchardef\leq"3214
\mathchardef\geq"3215
\mathchardef\succ"321F
\mathchardef\prec"321E
\mathchardef\doteq"321D
\mathchardef\approx"3219
\mathchardef\succeq"3217
\mathchardef\preceq"3216
\mathchardef\propersupset"321B
\mathchardef\propersubset"321A
\mathchardef\supset"3213
\mathchardef\subset"3212
\mathchardef\bot"0210
\mathchardef\perp"3210
\mathchardef\diamond"2277
\mathchardef\bullet"220F
\mathchardef\interc"220E
\mathchardef\div"220D
\mathchardef\odot"220C
\mathchardef\odiv"220B
\mathchardef\otimes"220A
\mathchardef\ominus"2209
\mathchardef\oplus"2208
\mathchardef\mp"2207
\mathchardef\pm"2206
\mathchardef\circ"2205
\mathchardef\rslash"2204
\mathchardef\cdot"2201
\mathchardef\ast"2203
\mathchardef\times"2202
\mathchardef\varomega"17F
\mathchardef\vartheta"17E
\mathchardef\varphi"17D
\mathchardef\omega"17C
\mathchardef\psi"17B
\mathchardef\jit"140
\mathchardef\partial"125
\mathchardef\wp"124
\mathchardef\lscr"123
\mathchardef\iit"120
\mathchardef\chi"11F
\mathchardef\phi"11E
\mathchardef\upsilon"11D
\mathchardef\tau"11C
\mathchardef\sigma"11B
\mathchardef\rho"11A
\mathchardef\pi"119
\mathchardef\xi"118
\mathchardef\nu"117
\mathchardef\mu"116
\mathchardef\lambda"115
\mathchardef\kappa"114
\mathchardef\iota"113
\mathchardef\theta"112
\mathchardef\eta"111
\mathchardef\zeta"110
\mathchardef\epsilon"10F
\mathchardef\delta"10E
\mathchardef\gamma"10D
\mathchardef\beta"10C
\mathchardef\alpha"10B
\mathchardef\Omegait"10A
\mathchardef\Psiit"109
\mathchardef\Phiit"108
\mathchardef\Upsilonit"107
\mathchardef\Sigmait"106
\mathchardef\Piit"105
\mathchardef\Xiit"104
\mathchardef\Lambdait"103
\mathchardef\Thetait"102
\mathchardef\Deltait"101
\mathchardef\Gammait"100
\mathchardef\Omega"0A
\mathchardef\Psi"09
\mathchardef\Phi"08
\mathchardef\Upsilon"07
\mathchardef\Sigma"06
\mathchardef\Pi"05
\mathchardef\Xi"04
\mathchardef\Lambda"03
\mathchardef\Theta"02
\mathchardef\Delta"01
\mathchardef\Gamma"00
\def\rangle{\delimiter"526930B }
\def\langle{\delimiter"426830A }
\def\}{\delimiter"5267309 }
\def\{{\delimiter"4266308 }
\def\rceil{\delimiter"5265307 }
\def\lceil{\delimiter"4264306 }
\def\rfloor{\delimiter"5263305 }
\def\lfloor{\delimiter"4262304 }
\def\O{\char'100 }
\def\o{\char'40 }
\def\OE{\char'37 }
\def\AE{\char'36 }
\def\oe{\char'35 }
\def\ae{\char'34 }
\def\ss{\char'33 }
\def\t{\accent'32 }
\def\l{\accent'31 }
\def\c{\accent'30 }
\def\a{\accent'27 }
\def\H{\accent'26 }
\def\'{\accent'16 }
\def\`{\accent'15 }
\def\b{\mathaccent'25 }
\def\"{\accent'23 }
\def\~{\ifmmode{\def\↑↑@{\mathaccent'24 }}
\else{\def\↑↑@{\accent'24 }}
\↑↑@}
\def\={\ifmmode{\def\↑↑@{\mathaccent'22 }}
\else{\def\↑↑@{\accent'22 }}
\↑↑@}
\def\u{\ifmmode{\def\↑↑@{\mathaccent'21 }}
\else{\def\↑↑@{\accent'21 }}
\↑↑@}
\def\v{\ifmmode{\def\↑↑@{\mathaccent'20 }}
\else{\def\↑↑@{\accent'20 }}
\↑↑@}
\def\↑{\ifmmode{\def\↑↑@{\mathaccent'17 }}
\else{\def\↑↑@{\accent'17 }}
\↑↑@}
\def\j{\char'14 }
\def\i{\char'13 }
\def\,{\mskip\the\thinmuskip}
\def\>{\mskip\the\medmuskip}
\def\;{\mskip\the\thickmuskip}
\def\↑↑]{\nonscript\,}
\def\!{\mskip\minusthe\thinmuskip}
\def\<{\mskip\minusthe\medmuskip}
\def\?{\mskip\minusthe\thickmuskip}
\def\↑↑\{\nonscript\mskip\minusthe\thinmuskip}
\let\comb=\atopwithdelims
\def\sqrt{\radical"270370 }
\let\↑↑M=\ % control carriage-return = control space
\let\↑↑L=\ % same for form-feed
\let\↑↑I=\ % same for tab
% Here are other macros
\def\%{\char`\%}
\def\&{\char`\&}
\def\lft#1{{#1}\hfill}
\def\ctr#1{\hfill{#1}\hfill}
\def\rt#1{\hfill{#1}}
\def\line{\hbox to\the\hsize}
\def\ljustline#1{\line{#1\hss}}
\def\rjustline#1{\line{\hss#1}}
\def\ctrline#1{\line{\hss#1\hss}}
\def\log{\mathop{\rm log}\limitswitch}
\def\lg{\mathop{\rm lg}\limitswitch}
\def\ln{\mathop{\rm ln}\limitswitch}
\def\lim{\mathop{\rm lim}}
\def\limsup{\mathop{\rm lim\,sup}}
\def\liminf{\mathop{\rm lim\,inf}}
\def\sin{\mathop{\rm sin}\limitswitch}
\def\cos{\mathop{\rm cos}\limitswitch}
\def\tan{\mathop{\rm tan}\limitswitch}
\def\cot{\mathop{\rm cot}\limitswitch}
\def\sec{\mathop{\rm sec}\limitswitch}
\def\csc{\mathop{\rm csc}\limitswitch}
\def\max{\mathop{\rm max}}
\def\min{\mathop{\rm min}}
\def\sup{\mathop{\rm sup}}
\def\inf{\mathop{\rm inf}}
\def\det{\mathop{\rm det}}
\def\exp{\mathop{\rm exp}\limitswitch}
\def\Pr{\mathop{\rm Pr}}
\def\gcd{\mathop{\rm gcd}}
\def\choose{\atopwithdelims()}
\def\leftset{\mathopen{\{\,}}
\def\rightset{\mathclose{\,\}}}
\def\modop{\<\,\mathbin{\rm mod}\penalty900\<\,}
\def\mod#1{\penalty0\;({\rm mod}\,\,#1)}
\def\eqv{\mathchar"3211 }
\def\neqv{\not\eqv}
% the "dots" macros make use of TeX's math spacing rules.
\def\ldots{{\mathchar"602E\mathchar"602E\mathchar"602E}}
\def\cdots{{\mathchar"6201\mathchar"6201\mathchar"6201}}
\def\ldotss{{\mathchar"602E\mathchar"602E\mathchar"602E\mathpunct{}}}
\def\cdotss{{\mathchar"6201\mathchar"6201\mathchar"6201\mathpunct{}}}
\def\ldotsm{{\mathpunct{}\mathchar"602E\mathchar"602E\mathchar"602E
\mathpunct{}}}
\def\vdots{\vbox{\baselineskip 4pt\vskip 6pt\hbox{.}\hbox{.}\hbox{.}}}
\def\eqalign#1{\baselineskip15pt\lineskip3pt\lineskiplimit3pt
\vcenter{\halign{\hfill$\displaystyle{##}$&$\displaystyle{##}$\hfill
\cr#1}}}
\def\eqalignno#1{\baselineskip15pt\lineskip3pt\lineskiplimit3pt
\vbox{\tabskip 0pt plus 1000pt minus 1000pt
\halign to \the\displaywidth{\hfill$\displaystyle{##}$\tabskip 0pt
&$\displaystyle{##}$\hfill\tabskip 0 pt plus 1000pt minus 1000pt
&\hfill$ ##$\tabskip 0pt\cr#1}}}
\def\cpile#1{\vcenter{\halign{\hfill$## $\hfill\cr#1}}}
\def\lpile#1{\vcenter{\halign{$## $\hfill\cr#1}}}
\def\rpile#1{\vcenter{\halign{\hfill$## $\cr#1}}}
\def\null{\hbox{}}
\def\twoline#1#2#3{\vbox{
\hbox to \the\displaywidth{$\quad\displaystyle{#1}$\hfill}
\vskip#2\hbox to \the\displaywidth{\hfill$\displaystyle{#3}\quad$}}}
\def\chop to#1pt#2{{\save0\hbox{$\displaystyle{#2}$}\hbox{\lower#1pt\null
\vbox to 1ht0{\box0\vss}}}} % pretends that #2 is #1pt deep
\def\spose#1{\hbox to 0pt{#1\hss}}
\def\topspace{\hrule height0pt\vskip}
% e.g. "\topspace 1in" puts an inch of space at the top of a page
\def\item#1{\par\noindent\hangindent 20pt\hbox to 20pt{\hss#1 }\ignorespace}
\def\itemitem#1{\par\noindent\hangindent 40pt\hbox to 40pt{\hss#1 }\ignorespace}
\def\biglp{\mathopen{\vcenter{\hbox{\exfont\char'0}}}}
\def\bigrp{\mathclose{\vcenter{\hbox{\exfont\char'1}}}}
\def\bigglp{\mathopen{\vcenter{\hbox{\exfont\char'22}}}}
\def\biggrp{\mathclose{\vcenter{\hbox{\exfont\char'23}}}}
\def\biggglp{\mathopen{\vcenter{\hbox{\exfont\char'40}}}}
\def\bigggrp{\mathclose{\vcenter{\hbox{\exfont\char'41}}}}
\def\magnify#1{\mag=#1\hsize 6.5truein\vsize 8.9truein}
% Definitions for preloaded fonts
% (Fonts assigned to \preloaded are not part of "plain TeX",
% but they are preloaded so that other format packages can use them.
% For example, if another set of macros says "\newfont cmr9\is\ninerm",
% TeX will not have to reload the font metric information for cmr9.)
\message{fonts,}
\newfont cmr10\is\tenrm % modern roman
\newfont cmr9\is\preloaded
\newfont cmr8\is\preloaded
\newfont cmr7\is\sevenrm
\newfont cmr6\is\preloaded
\newfont cmr5\is\fiverm
\newfont amr10\is\preloaded
\newfont cmi10\is\teni % math italic
\newfont cmi9\is\preloaded
\newfont cmi8\is\preloaded
\newfont cmi7\is\seveni
\newfont cmi6\is\preloaded
\newfont cmi5\is\fivei
\newfont amsy10\is\tensy % math symbols
\newfont amsy9\is\preloaded
\newfont amsy8\is\preloaded
\newfont amsy7\is\sevensy
\newfont amsy6\is\preloaded
\newfont amsy5\is\fivesy
\newfont amathx\is\tenex % math extension
\def\exfont{\:\tenex}
\newfont eufrak\is\tenfr % Fraktur
\newfont cmss10\is\preloaded % sans serif
\newfont cmss9\is\preloaded
\newfont cmss8\is\preloaded
\newfont cmsss\is\preloaded % slanted sans serif
\newfont cmsss9\is\preloaded
\newfont cmsss8\is\preloaded
\newfont amsss8\is\preloaded
\newfont cmb10\is\tenbf % boldface extended
\newfont cmb9\is\preloaded
\newfont cmb8\is\preloaded
\newfont ambx10\is\preloaded
\newfont cmtt\is\tentt % typewriter
\newfont cmtt9\is\preloaded
\newfont cmtt8\is\preloaded
\newfont amtt\is\preloaded
\newfont cmst\is\preloaded % slanted typewriter
\newfont cms10\is\tensl % slanted roman
\newfont cms9\is\preloaded
\newfont cms8\is\preloaded
\newfont cmti10\is\tenit % text italic
\newfont cmti9\is\preloaded
\newfont cmti8\is\preloaded
\newfont cmti7\is\preloaded
\message{more fonts,}
\newfont cmu10\is\preloaded % unslanted text italic
\newfont cmbti\is\preloaded % bold text italic
\newfont cmbsy\is\preloaded % bold math symbols
\newfont cmcsc\is\preloaded % caps and small caps
\newfont cmcsc9\is\preloaded
\newfont cmssb\is\preloaded % sans serif bold
\newfont cmss9b\is\preloaded
\newfont cmss8b\is\preloaded
\newfont amssb\is\preloaded
\newfont amssb at 13pt\is\preloaded
\newfont cmr7 at 21pt\is\preloaded % for titles
\newfont cmtt at 15pt\is\preloaded
\newfont cmr7 at 14pt\is\preloaded
\newfont manfnt\is\preloaded % METAFONT logo and dragon curve
\newfont cmdunh\is\preloaded % Dunhill style
\newfont stan70\is\preloaded % Stanford seal
% the Xerox fonts at 9.090909bp are intended for \magnify{1100}
% since this makes them blend properly with cm symbol fonts
\newfont timesroman at 10bp\is\preloaded % times roman
\newfont timesroman at 9.090909bp\is\preloaded % times roman, \magnify{1100}
\newfont timesroman at 8bp\is\preloaded
\newfont timesromani at 10bp\is\preloaded % times italic
\newfont timesromani at 9.090909bp\is\preloaded % times italic
\newfont timesromani at 8bp\is\preloaded
\newfont timesromanb at 10bp\is\preloaded % times roman bold
\newfont timesromanb at 9.090909bp\is\preloaded % times roman bold
\newfont helvetica at 10bp\is\preloaded % helvetica
\newfont helvetica at 9.090909bp\is\preloaded % helvetica for \magnify{1100}
\newfont helvetica at 8bp\is\preloaded
\newfont helveticai at 10bp\is\preloaded % helvetica slanted
\newfont helveticai at 9.090909bp\is\preloaded % helvetica italic
\newfont helveticai at 8bp\is\preloaded
\newfont helveticab at 10bp\is\preloaded % helvetica bold
\newfont helveticab at 9.090909bp\is\preloaded % helvetica boldface
\let\preloaded=\undefined % preloaded fonts should be declared \newfont anew
\let\mainfont=\tenrm
\def\rm{\:\tenrm\fam0 }
\textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
\textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
\textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
\def\it{\:\tenit\fam4 }
\textfont4=\tenit
\def\sl{\:\tensl\fam5 }
\textfont5=\tensl
\def\bf{\:\tenbf\fam6 }
\textfont6=\tenbf
\def\tt{\:\tentt\fam7 }
\textfont7=\tentt
\baselineskip 12pt
\dispskip 12pt plus 3pt minus 9pt
\def\strut{{\vrule height8.5pt depth3.5pt width0pt}}
% Hyphenation, and initial values for standard layout
\message{hyphenation}
\input hyphen
\setcount0=1 % first page is number 1
\rm % select roman font
\chcode`(=12 \chcode`)=12 % parentheses are no longer letters